In a typical consumer image processing application a user can modify an image to achieve a more pleasing look. Two common user interfaces are sliders and ring-around controls. In the former, a number of sliders are presented to the user. These sliders, examples of which are depicted in FIG. 1, can modify a number of image characteristics, such as: brightness, contrast, saturation, hue, etc. In this user interface, a 1-d control is mapped to a 1-d slider 111. Specifically, in FIG. 1, a slider 100 works by having the user click and drag a “thumb” 110 of a slider control 111 until a desired value, represented by the slider, is set. FIG. 1 presents the user with two distinct slider controls: brightness 111 and contrast 112. In a typical imaging application, there are some interactions between slider controls 111 and 112. A user must alternatively adjust both slider controls 111 and 112 to achieve her desired rendering. The number of slider controls, the type of operations the slider controls perform, and the interactions between these slider controls can be daunting to a user.
A second method used to reduce the complexity is to provide a “ring around” control where a number of images surround a reference image 310, thus creating a 3×3 grid 320. This type of control, 2-d ring around control user interface 300, is depicted in FIG. 3. The reference image 310 at the center of grid 320 represents initially the original image and subsequently the current preferred image 310 as described below. In this display, images along a vertical and a horizontal axis differ by a single 1-d control; the corner images show the interaction of the two 1-d controls. This user interface is limited to two 1-d controls. The row above represents a perturbation of an image characteristic in one direction; the row below represents a perturbation of the same characteristic in the opposite direction. A second image characteristic can be represented in the same way using the vertical direction within a column. The user interacts with the control by clicking on a preferred image in the grid 320. Clicking causes the preferred image to become the center image. A new set of surround images are then computed with the center image becoming the new baseline. In FIG. 3 this method is limited to two controls (brightness 340 and contrast 350). The size of increment between images is selected by using the thumbnail variation slider 330.
Other layouts and arrangements allow more than two controls, but the interactions between the controls cannot be presented and represent the perturbation of only a single imaging control. This type of control, 1-d ring around control user interface 200, is shown in FIG. 2. Instead of a slider, the user is presented with a number of images. Any images along any given line (horizontal, vertical, or diagonal) differ by a single 1-d image control. Interactions between controls are not displayed. The center image is the “current pick” 201. The center image initially matches the original image 205. Images 203 and 208 vary in the amount of green and magenta, respectively, creating a green-magenta axis. A cyan-red axis (206, 204) and a blue-yellow axis (207, 202) as well as a brightness axis (209, 211) are also displayed. However the interaction between adding blue and brightness for example are not displayed.
A third approach has been created by PhotoGenetics and is shown in FIG. 4 as user interface 400. This method presents the user with a paired choice of two images: a current image 410 and a modified image 440. The user indicates which image is preferred and by how much, using a slider 420. Using the information provided by the slider 420, the program computes a new transform to apply to create a new modified image to be evaluated. The process is repeated until the Stop Evaluation Button 430 is selected. This information is used along with prior choices to compute a new image with a different rendering. As parameters are determined for image rendering, the current image 410 is updated and the process continues. Each time the current image 410 is updated it is considered a new generation. A record of each generation is kept and can be selected using a set of buttons 450. The original image 460 is also displayed. This method requires either a large number of choices (interactions) or large steps between adjustments.
FIG. 5 depicts a screen shot of the Color Mechanic Interface. This program allows the user to identify colors in the input image 550 that require improvement. The user selects color control points 510 that she finds objectionable in the input color hexagon 520. This creates a control point 510 on both the input color hexagon 520 and the preview color hexagon 530. The user can then move the color control point 510 on the preview color hexagon 530 to remap the color to a preferred color which can be viewed in the preview image 540.